跳到主要内容

Data Access 数据访问类型节点之二 Database 节点

上一节我们讲了 KNIME 中 Data Access 数据访问类型节点中的一大类 -- IO 输入输出节点集合,并给出了对应于各节点的学习建议。这节我们讲 Data Access 数据访问类型节点中的 Database 数据库节点集合。

Data Access 数据访问类型节点(继续...)

DB 数据库节点集合简述

注:名称中带有 Database 的节点均是 KNIME 4 版本前的节点(在目录 Database (legacy) 下),而在版本 4 发布时, KNIME 官方做了一系列的改进,名称类似 DB xxxx,请注意区别.

Node Repository中的 DB 数据库节点集合 Node Repository中的 DB 数据库节点集合

DB 数据库类型的节点主要分为 Connection (连接)、Query (查询)、Read/Write (读写)、Transaction (事务) 和 Utility (工具) 四个部分。按照逻辑,如果我们只谈纯粹 Data Access 数据访问类型的节点,似乎讲其中的 Read 部分就够了,但实际上,因为 DB 数据库各个节点的非独立性(即它不像上面所说的文件读写节点类型,单独就可以运行),除了 Write 部分以外,其余部分可以均成为"Data Access"这个类型的组成成分,所以也将其归类在这里。我们先从 Connection 连接部分开始讲起。

Connection 连接部分

在“读取数据源”一篇中,我们描述了 KNIME 是如何通过 JDBC 驱动去连接各种各样类型的数据库。对于一些基本的关系型数据库,SQLite、MySQL、MSSQL、PostgresSQL等,KNIME 已经内置了相应的 JDBC 驱动,我们需要做的只是选择特定的 connector(连接器),然后配置数据库地址、端口、用户名以及密码之类的信息就可以连接了。对于 KNIME 中没有直接支持的数据库,我们需要做的是先在相应数据库的官网或社区下载到对应的 JDBC 驱动,并在 KNIME 中配置,最后使用 DB Connector 这个通用节点连接数据库即可。

DB 数据库节点集合中的Connector部分 DB集合中的Connector部分

DB Connector 节点。这是一个通用型的节点,在使用时,需要指定相应的 JDBC 驱动,并且配置相应数据库的 URL 以及其他相关信息。在其他 KNIME 数据库 connector 节点不能满足我们要求的情况下,它将是唯一的选择。在这个节点当中,我们也可以配置其驱动,使其变成一个 MySQL Connector。如下图所示,在Database Type 选择了 MySQL 的驱动,然后在 Database URL 位置按照格式写下MySQL的连接地址和端口就可以了。如果有其他的一些配置需要, 可以参考 Advanced 或 JDBC Parameters 标签页进行配置。

经过特定配置后可以读取 MySQL 的 Database Connector 经过特定配置后可以读取 MySQL 的 Database Connector

MySQL Connector 节点。这里不用像上面的节点根据格式列写数据库 URL,而只需要按照对话框中要求填写数据库相应配置内容就可以了。其实内部的组成和上面的 DB Connector 组成一致。对于学过计算机语言的人来说,这其实就是面对对象编程(OOP)中的概念,DB Connector 对应了基类,而 MySQL Connector 只是在基类上做了继承的子类。这个节点的输出和上面 DB Connector 的输出都是a database JDBC connnection,可以理解为类的一个实例。对于没有系统学过面对对象编程的人,只需要把输出理解为数据库的连接就可以了。此节点输出端口在图形上显示的是一个红色的实心框。

MySQL Connector的配置界面 MySQL Connector的配置界面

而其余数据库的 Connector 和 MySQL Connector 一样,都是继承自 DB Connector,大同小异, 不再赘述。

其余内容略